#ifndef _SINGLE_LIST_RING_H_
#define _SINGLE_LIST_RING_H_


struct list_head{
	struct list_head *next;
};

typedef struct list_head list_t;

#define list_entry(node, type, member) \
    ((type *)((char *)(node) - (unsigned long)(&((type *)0)->member)))


static __inline__
void list_init(list_t *l)
{
	l->next = l;
}

static __inline__
void list_add_after(list_t *l, list_t *n)
{
	n->next = l->next;
	l->next = n;
}

static __inline__
void list_del_after(list_t *l)
{
	l->next = l->next->next;
}


#endif /*_SINGLE_LIST_RING_H_*/

